package com.hmy.infrastructure.api.client.map;


import com.hmy.ccp.common.result.FeignResult;
import com.hmy.infrastructure.api.bo.request.map.DistrictCityQueryApiRequest;
import com.hmy.infrastructure.api.bo.request.map.DistrictQueryApiRequest;
import com.hmy.infrastructure.api.bo.request.map.TruckRoutePlanApiRequest;
import com.hmy.infrastructure.api.bo.request.signature.*;
import com.hmy.infrastructure.api.bo.response.map.DistrictCityApiResponse;
import com.hmy.infrastructure.api.bo.response.map.DistrictQueryApiResponse;
import com.hmy.infrastructure.api.bo.response.map.TruckRoutePlanApiResponse;
import com.hmy.infrastructure.api.bo.response.signature.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;


@FeignClient("hmy-ccp-infrastructure")
public interface MapClient {

    /**
     * 高德地图-行政区域查询
     * @param request 请求参数
     * @return 返回行政区域结果
     */
    @PostMapping("/feign/map/districtQuery")
    FeignResult<DistrictQueryApiResponse> districtQuery(DistrictQueryApiRequest request);

    /**
     * 高德地图-行政区域查询
     * @param request 请求参数
     * @return 返回所有城市信息
     */
    @PostMapping("/feign/map/allDistrictCity")
    FeignResult<DistrictCityApiResponse> allDistrictCity(DistrictCityQueryApiRequest request);

    /**
     * 高德地图-货车路径规划基础版
     * @param request 请求参数
     * @return 返回货车路径规划结果
     */
    @PostMapping("/feign/map/truckRoutePlan")
    FeignResult<TruckRoutePlanApiResponse> truckRoutePlan(TruckRoutePlanApiRequest request);

}
